Bootstrapping reflective systems: The case of Pharo
نویسندگان
چکیده
Bootstrapping is a technique commonly known by its usage in language definition by the introduction of a compiler written in the same language it compiles. This process is important to understand and modify the definition of a given language using the same language, taking benefit of the abstractions and expression power it provides. A bootstrap, then, supports the evolution of a language. However, the infrastructure of reflective systems like Smalltalk includes, in addition to a compiler, an environment with several self-references. A reflective system bootstrap should consider all its infrastructural components. In this paper, we propose a definition of bootstrap for object-oriented reflective systems, we describe the architecture and components it should contain and we analyze the challenges it has to overcome. Finally, we present a reference bootstrap process for a reflective system and Hazelnut, its implementation for bootstrapping the Pharo Smalltalk-inspired system.
منابع مشابه
Toward a modularization of Pharo : Analysis of the design space for a new module system
Smalltalk is a reflective object-oriented programming language. Over the years, it has influenced many other programming languages and evolved into many variants. However, it does not offer the notion of namespace or module. Because all classes and global variables are visible from the whole system, numerous dependencies may be introduced and lead to a monolithic system. As a descendant of Smal...
متن کاملOpenJIT Frontend System: An Implementation of the Reflective JIT Compiler Frontend
OpenJIT is an open-ended, reflective JIT compiler framework for Java being researched and developed in a joint project by Tokyo Inst. Tech. and Fujitsu Ltd. Although in general self-descriptive systems have been studied in various contexts such as reflection and interpreter/compiler bootstrapping, OpenJIT is a first system we know to date that offers a stable, full-fledged Java JIT compiler tha...
متن کاملRelationship between Professional Identity and Reflectivity: A Case of Iranian EFL Teachers
EFL teachers’ professional identity is a multi-dimensional and complicated concept. It is influenced by many other issues in the educational context such as reflective practice. This study intended to explore the relationship between professional identity and reflectivity of Iranian EFL teachers. It also aimed to examine how high and low reflective teachers perceive the professional identity co...
متن کاملBeyond Data Dictionaries: Towards a Reflective Architecture of Intelligent Database Systems
A b s t r a c t . The main conjecture of this contribution is that forthcoming intelligent database systems in particular future DOOD systems should be designed in such a way that a major part of the services they provide are implemented using these same services in a bootstrapping-like manner. We call such an approach "reflective", as is often done by researchers in AI and programming language...
متن کاملDebugging Cyber-Physical Systems with Pharo
Cyber-Physical Systems (CPS) integrate sensors and actuators to collect data and control entities in the physical world. Debugging CPS systems is hard due to the time-sensitive nature of a distributed applications combined with the lack of control on the surrounding physical environment. This makes bugs in CPS systems hard to reproduce and thus to fix. In this context, on-line debugging techniq...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Sci. Comput. Program.
دوره 96 شماره
صفحات -
تاریخ انتشار 2014